{
 "cells": [
  {
   "cell_type": "code",
   "id": "d53bba7d-5e05-4748-b1a7-d5b7cc77fe73",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T07:00:06.621859Z",
     "start_time": "2025-01-13T07:00:05.040027Z"
    }
   },
   "source": [
    "import torch\n",
    "import matplotlib.pyplot as plt\n",
    "from transformers import AutoModelForCausalLM, AutoTokenizer\n",
    "from datasets import load_dataset\n",
    "\n",
    "# 加载模型和 tokenizer\n",
    "def load_model_and_tokenizer(model_name, device=\"cuda\"):\n",
    "    print(f\"Loading model: {model_name}\")\n",
    "    tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False)\n",
    "    model = AutoModelForCausalLM.from_pretrained(\n",
    "        model_name,\n",
    "        # torch_dtype=torch.float16,\n",
    "        device_map=\"auto\",\n",
    "        # attn_implementation=\"eager\",\n",
    "    )\n",
    "    return model, tokenizer"
   ],
   "outputs": [],
   "execution_count": 1
  },
  {
   "cell_type": "code",
   "id": "ea3b9a7d-5f53-4311-b365-e5d72f7a843e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T07:00:20.795830Z",
     "start_time": "2025-01-13T07:00:18.201946Z"
    }
   },
   "source": [
    "# model_name = \"mistralai/Mistral-7B-Instruct-v0.1\"\n",
    "model_name = \"Qwen/Qwen2-0.5B-Instruct\"\n",
    "device = \"cuda\" if torch.cuda.is_available() else \"mps\"\n",
    "\n",
    "# 加载模型和 tokenizer\n",
    "model, tokenizer = load_model_and_tokenizer(model_name, device)\n",
    "\n",
    "# model.config.sliding_window = 1024"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading model: Qwen/Qwen2-0.5B-Instruct\n"
     ]
    }
   ],
   "execution_count": 3
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T07:01:51.397906Z",
     "start_time": "2025-01-13T07:01:45.957593Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 加载和分词输入\n",
    "dataset = load_dataset(\"emozilla/pg19\", split=\"test\", trust_remote_code=True)\n",
    "text = dataset[0][\"text\"]  # 仅取前 16384 个字符\n",
    "input_ids = tokenizer(text, return_tensors=\"pt\", max_length=16, truncation=True).input_ids"
   ],
   "id": "a382e23bb4ab51f8",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Resolving data files:   0%|          | 0/23 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "478c84ce5144462abaa0038b0176a95d"
      }
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 10
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-10T12:23:12.818359Z",
     "start_time": "2025-01-10T12:23:12.815975Z"
    }
   },
   "cell_type": "code",
   "source": "input_ids = input_ids[:, 1:]",
   "id": "33828970f698a720",
   "outputs": [],
   "execution_count": 73
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-10T12:23:14.937610Z",
     "start_time": "2025-01-10T12:23:14.934927Z"
    }
   },
   "cell_type": "code",
   "source": "print(input_ids)",
   "id": "4f3a70a0b39e8218",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[   13, 12878,  1094, 12210,  1406,    36,  9345, 10030,   553, 15115,\n",
      "           482, 15681,   337, 52369,   323,   279,  5787, 51586,  8105,   198,\n",
      "            35, 25146, 36991,  6154,  7909,  1022,   787, 16413, 27629, 42653,\n",
      "          3008,   393,  1271,    36,   640, 82831,  1964,  3928,    13, 12878,\n",
      "          1094,   271,    32, 11101,   315, 28361, 33891,   369,   323, 29014,\n",
      "           304,   279, 13385,   198,    47, 55398,  8445,   382,  1359, 16654,\n",
      "         16012, 11418,  5881, 34583, 20594,  4592, 57567, 12152,  2941,    38,\n",
      "         14017,  3008,   393,  1271,    36,   640, 82831,   382,    32,   425,\n",
      "          4305, 14884,   451,  3915,  3495,  3008, 28167,    50,  3567, 58619,\n",
      "         63022,  1479,  4769,  3168, 90296,  8932,   198,    35, 22063,  3008,\n",
      "          3928,    13, 12878,  1094,    11,   422, 73049, 16165,  4592,  2537,\n",
      "          4321,  4192,  2679,  7801,   386,    13,  7684, 92923,  1410, 64778,\n",
      "           279,  9393,   323,  1281,   264,  7216,  4221,   279]])\n"
     ]
    }
   ],
   "execution_count": 74
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T07:01:51.534009Z",
     "start_time": "2025-01-13T07:01:51.403437Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 提取注意力分数\n",
    "# 模型前向\n",
    "with torch.no_grad():\n",
    "    output = model(input_ids.to(device), output_attentions=True, output_hidden_states=True)"
   ],
   "id": "5b4d9d20-018d-43a1-8032-9d3204fee40b",
   "outputs": [],
   "execution_count": 11
  },
  {
   "cell_type": "code",
   "id": "0c7f09c3-b916-4a61-bfde-013bde2b9b06",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-10T03:57:35.012541Z",
     "start_time": "2025-01-10T03:57:35.009998Z"
    }
   },
   "source": [
    "print(output.keys())"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "odict_keys(['logits', 'past_key_values', 'attentions'])\n"
     ]
    }
   ],
   "execution_count": 7
  },
  {
   "cell_type": "code",
   "id": "83a907f4-2f18-4a23-9da8-0537a3c22d7f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-10T03:57:36.791721Z",
     "start_time": "2025-01-10T03:57:36.789881Z"
    }
   },
   "source": [
    "print(len(output[\"attentions\"]))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "24\n"
     ]
    }
   ],
   "execution_count": 8
  },
  {
   "cell_type": "code",
   "id": "83508ce8-811d-44b7-97cd-a2a10b6d4084",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-10T05:13:12.061529Z",
     "start_time": "2025-01-10T05:13:12.058331Z"
    }
   },
   "source": "output[\"attentions\"][0].shape",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 14, 128, 128])"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 51
  },
  {
   "cell_type": "code",
   "id": "8beda058-e53a-40f4-89e2-789bf724ead3",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T07:02:33.320899Z",
     "start_time": "2025-01-13T07:02:33.317184Z"
    }
   },
   "source": [
    "def visualize_attention_scores(\n",
    "    attention_scores,\n",
    "    layer_idx,\n",
    "    head_idx,\n",
    "    seq_len,\n",
    "    output_file=None,\n",
    "    norm_type=\"log\",  # 标准化类型：可选 \"log\" 或 \"minmax\"\n",
    "    cmap=\"plasma\",    # 颜色映射：默认使用更高对比度的 plasma\n",
    "    annotate=False    # 是否显示矩阵上的数值\n",
    "):\n",
    "    \"\"\"\n",
    "    可视化 Transformer 注意力分数矩阵。\n",
    "    \"\"\"\n",
    "    plt.figure(figsize=(5, 4))\n",
    "    attention_matrix = attention_scores[layer_idx][0, head_idx, :seq_len, :seq_len].cpu()\n",
    "\n",
    "    # 标准化注意力分数\n",
    "    if norm_type == \"log\":\n",
    "        epsilon = 1e-9\n",
    "        attention_matrix = torch.log(attention_matrix + epsilon).numpy()\n",
    "    elif norm_type == \"minmax\":\n",
    "        attention_matrix = attention_matrix.numpy()\n",
    "        attention_matrix = (attention_matrix - attention_matrix.min()) / (\n",
    "            attention_matrix.max() - attention_matrix.min() + 1e-9\n",
    "        )\n",
    "\n",
    "    # 绘制矩阵\n",
    "    im = plt.imshow(attention_matrix, cmap=cmap, aspect=\"auto\")\n",
    "    plt.colorbar(im, label=\"Normalized Attention Score\")\n",
    "    plt.title(f\"Attention Layer {layer_idx + 1}, Head {head_idx + 1}\")\n",
    "    plt.xlabel(\"Key Position\")\n",
    "    plt.ylabel(\"Query Position\")\n",
    "\n",
    "    # 可选：添加数值标注\n",
    "    if annotate:\n",
    "        for i in range(seq_len):\n",
    "            for j in range(seq_len):\n",
    "                plt.text(j, i, f\"{attention_matrix[i, j]:.2f}\", ha=\"center\", va=\"center\", fontsize=6)\n",
    "\n",
    "    # 保存图像或显示\n",
    "    if output_file:\n",
    "        plt.savefig(output_file, dpi=300)\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "# # 可视化某一层的注意力分数\n",
    "# def visualize_attention_scores(attention_scores, layer_idx, head_idx, seq_len, output_file=None):\n",
    "#     plt.figure(figsize=(10, 8))\n",
    "#     attention_matrix = attention_scores[layer_idx][0, head_idx, :seq_len, :seq_len].cpu()\n",
    "#     plt.imshow(attention_matrix, cmap=\"viridis\", aspect=\"auto\")\n",
    "#     plt.colorbar(label=\"Attention Score\")\n",
    "#     plt.title(f\"Attention Layer {layer_idx + 1}, Head {head_idx + 1}\")\n",
    "#     plt.xlabel(\"Key Position\")\n",
    "#     plt.ylabel(\"Query Position\")\n",
    "#     if output_file:\n",
    "#         plt.savefig(output_file)\n",
    "#     plt.show()\n"
   ],
   "outputs": [],
   "execution_count": 14
  },
  {
   "cell_type": "code",
   "id": "b9ebb3c3-900a-4a36-9f7f-19a9cb834b74",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T07:04:54.387455Z",
     "start_time": "2025-01-13T07:04:54.179948Z"
    }
   },
   "source": [
    "\n",
    "attention_scores = output[\"attentions\"]\n",
    "\n",
    "# 保存或可视化\n",
    "layer_idx = 3  # 可视化第几层\n",
    "head_idx = 2   # 可视化第几个注意力头\n",
    "seq_len = 8192  # 只显示前 1024 长度的分数（避免图太大）\n",
    "visualize_attention_scores(attention_scores, layer_idx, head_idx, seq_len, output_file=\"attention_layer_1_head_1.png\")\n",
    "\n",
    "# # 保存完整注意力分数到文件\n",
    "# torch.save(attention_scores, \"attention_scores.pt\")\n",
    "# print(\"Attention scores saved to 'attention_scores.pt'\")"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 500x400 with 2 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 16
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e29cf3b0-59af-4328-84b7-622c6c9a3a82",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 32, 2110, 2110])\n"
     ]
    }
   ],
   "source": [
    "print(output[\"attentions\"][0].shape)"
   ]
  },
  {
   "cell_type": "code",
   "id": "b4fa6f7b-0365-459e-9c69-357b02d5e9be",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T07:04:59.627888Z",
     "start_time": "2025-01-13T07:04:59.570181Z"
    }
   },
   "source": [
    "# 计算hidden_states特定token的方差\n",
    "\n",
    "layer_idx = 3  # 可视化第几层\n",
    "head_idx = 2   # 可视化第几个注意力头\n",
    "\n",
    "# 提取特定 token 的隐藏状态\n",
    "hidden_states = output[\"hidden_states\"][layer_idx]\n",
    "\n",
    "# 计算每个token各自的方差 保存为一个list\n",
    "for i in range(hidden_states.shape[1]):\n",
    "    variance = torch.var(hidden_states[:, i, :])\n",
    "    print(variance)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(516.3491, device='mps:0')\n",
      "tensor(0.1098, device='mps:0')\n",
      "tensor(0.0991, device='mps:0')\n",
      "tensor(0.1011, device='mps:0')\n",
      "tensor(0.0806, device='mps:0')\n",
      "tensor(0.0646, device='mps:0')\n",
      "tensor(0.0643, device='mps:0')\n",
      "tensor(0.1013, device='mps:0')\n",
      "tensor(0.1076, device='mps:0')\n",
      "tensor(0.0875, device='mps:0')\n",
      "tensor(0.1048, device='mps:0')\n",
      "tensor(0.1084, device='mps:0')\n",
      "tensor(0.0780, device='mps:0')\n",
      "tensor(0.0865, device='mps:0')\n",
      "tensor(0.0810, device='mps:0')\n",
      "tensor(0.0736, device='mps:0')\n"
     ]
    }
   ],
   "execution_count": 17
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T08:15:42.731937Z",
     "start_time": "2025-01-13T08:15:42.728716Z"
    }
   },
   "cell_type": "code",
   "source": "",
   "id": "a1d5bdfc3cc5f72e",
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (3378313454.py, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001B[0;36m  Cell \u001B[0;32mIn[20], line 1\u001B[0;36m\u001B[0m\n\u001B[0;31m    print(output[\"hidden_states\"][layer_idx][0, :, (head_idx-1)*:head_idx].shape)\u001B[0m\n\u001B[0m                                                                ^\u001B[0m\n\u001B[0;31mSyntaxError\u001B[0m\u001B[0;31m:\u001B[0m invalid syntax\n"
     ]
    }
   ],
   "execution_count": 20
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T09:13:51.035080Z",
     "start_time": "2025-01-13T09:13:50.912341Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import torch\n",
    "import numpy as np\n",
    "\n",
    "def visualize_attention_and_variance(\n",
    "    attention_scores,\n",
    "    hidden_states,\n",
    "    layer_idx,\n",
    "    head_idx,\n",
    "    seq_len,\n",
    "    output_file=None,\n",
    "    norm_type=\"log\",  # 标准化类型：可选 \"log\" 或 \"minmax\"\n",
    "    cmap=\"plasma\",    # 颜色映射：默认使用更高对比度的 plasma\n",
    "    annotate=False     # 是否显示矩阵上的数值\n",
    "):\n",
    "    \"\"\"\n",
    "    可视化 Transformer 注意力分数和每个 token 内部值的方差。\n",
    "    \"\"\"\n",
    "    # 创建上下两个子图\n",
    "    fig, axes = plt.subplots(2, 1, figsize=(6, 5), gridspec_kw={\"height_ratios\": [4, 0.5]})\n",
    "\n",
    "    # 获取注意力分数矩阵\n",
    "    attention_matrix = attention_scores[layer_idx][0, head_idx, :seq_len, :seq_len].cpu()\n",
    "\n",
    "    # 标准化注意力分数\n",
    "    if norm_type == \"log\":\n",
    "        epsilon = 1e-9\n",
    "        attention_matrix = torch.log(attention_matrix + epsilon).numpy()\n",
    "    elif norm_type == \"minmax\":\n",
    "        attention_matrix = attention_matrix.numpy()\n",
    "        attention_matrix = (attention_matrix - attention_matrix.min()) / (\n",
    "            attention_matrix.max() - attention_matrix.min() + 1e-9\n",
    "        )\n",
    "\n",
    "    # 绘制注意力分数热力图\n",
    "    ax1 = axes[0]\n",
    "    im1 = ax1.imshow(attention_matrix, cmap=cmap, aspect=\"auto\")\n",
    "    fig.colorbar(im1, ax=ax1, label=\"Normalized Attention Score\")\n",
    "    ax1.set_title(f\"Attention Layer {layer_idx + 1}, Head {head_idx + 1}\")\n",
    "    ax1.set_xlabel(\"Key Position\")\n",
    "    ax1.set_ylabel(\"Query Position\")\n",
    "\n",
    "    # 可选：添加数值标注\n",
    "    if annotate:\n",
    "        for i in range(seq_len):\n",
    "            for j in range(seq_len):\n",
    "                ax1.text(j, i, f\"{attention_matrix[i, j]:.2f}\", ha=\"center\", va=\"center\", fontsize=6)\n",
    "\n",
    "    # 计算每个 token 的方差\n",
    "    token_variances = torch.var(hidden_states[layer_idx][:, :seq_len, :], dim=-1).squeeze(0).cpu().numpy()\n",
    "\n",
    "    # 转为二维矩阵（单行）\n",
    "    token_variances = np.expand_dims(token_variances, axis=0)  # 转为 1xN 矩阵以适配热力图\n",
    "\n",
    "    # 绘制方差热力图\n",
    "    ax2 = axes[1]\n",
    "    im2 = ax2.imshow(token_variances, cmap=\"plasma\", aspect=\"auto\")\n",
    "    fig.colorbar(im2, ax=ax2, label=\"Token Variance\")\n",
    "    ax2.set_title(f\"Token Variance for Layer {layer_idx + 1}\")\n",
    "    ax2.set_xlabel(\"Token Position\")\n",
    "    ax2.set_yticks([])  # 隐藏 y 轴刻度\n",
    "\n",
    "    # 保存图像或显示\n",
    "    if output_file:\n",
    "        plt.savefig(output_file, dpi=300, bbox_inches=\"tight\")\n",
    "    plt.show()\n",
    "\n",
    "# 示例调用\n",
    "# 请将 `attention_scores` 和 `hidden_states` 替换为实际数据\n",
    "visualize_attention_and_variance(output[\"attentions\"], output[\"hidden_states\"], layer_idx=3, head_idx=2, seq_len=50)\n"
   ],
   "id": "300ce9020ba6bab2",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 600x500 with 4 Axes>"
      ],
      "image/png": "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WrRogefPn8PQ0FDW3rt3b4SGhqocV+meknHjxqFly5aIjY1F586doaX1qq6pUaMG5s+fr3IiREREmsYxJYo5c+YMzp8/Dz09Pbl2JycnxMXFqRxXpSnBLVq0QIsWLSCEgBACEokEHh4eKidBRERUHrAoUYxUKkVubm6B9n///RempqYqx1VpjdMtW7agYcOGMDQ0hKGhIRo1aoStW7eqnAQRERFVHF26dMGKFStkryUSCVJTU+Hr61uqpeeVLkqWL1+OsWPHolu3bti1axd27dqFrl274ssvv8T333+vciJERESalr+iqyqbuixYsACurq4wMjKChYVFocfExMTAw8MDRkZGsLa2xrRp05CTk1Ns3GfPnsHT0xNmZmawsLDAqFGjFJ45s2zZMpw7dw716tVDRkYGBg8eLLt1s3jxYmXfoozSt29Wr16NdevWwcvLS9bWo0cP1K9fH35+fpg8ebLKyRAREWlSebx9k5WVhf79+6N169bYtGlTgf25ubnw8PCAra0tzp8/j/j4eHh5eUFXVxcLFy4sMq6npyfi4+MREhKC7OxsjBgxAmPGjMG2bdtKzKlatWq4du0adu7ciWvXriE1NRWjRo2Cp6en3MBXZSldlMTHx8PV1bVAu6urK+Lj41VOhIiISNPKY1Eyd+5cAEBQUFCh+48dO4bbt2/j+PHjsLGxQZMmTTBv3jxMnz4dfn5+BQajAkBERASOHDmCS5cuoUWLFgBedTp069YNS5cuhb29fbE5nT59Gq6urvD09ISnp6esPScnB6dPn0a7du1Ueq9K376pVasWdu3aVaB9586dqF27tkpJEBERlQf5RYkqG/DqeXCvb5mZ6nvqeL4LFy6gYcOGsLGxkbW5u7sjJSUFt27dKvIcCwsLWUECAJ06dYKWlhb++uuvEq/ZoUMHPHv2rEB7cnIyOnTooMK7eEXpnpK5c+diwIABOH36NNq0aQMAOHfuHEJDQwstVoiIiCqK0vaUODg4yLX7+vrCz8+vLFIrUkJCglxBAkD2OiEhochzrK2t5dp0dHRgaWlZ5Dmvy595+6b//vsPxsbGiqZegNJFSd++fREWFobly5dj//79AIC6desiLCwMTZs2VTkRIiKiii42NhZmZmay1/r6+oUeN2PGjBIHhEZERMDFxaVM8yutPn36AHg122b48OFy7y83NxfXr18vdIiH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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 31
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T11:09:12.594316Z",
     "start_time": "2025-01-13T11:09:12.484996Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "def visualize_attention_and_variance(\n",
    "    attention_scores,\n",
    "    hidden_states,\n",
    "    layer_idx,\n",
    "    head_idx,\n",
    "    seq_len,\n",
    "    output_file=None,\n",
    "    norm_type=\"log\",  # 标准化类型：可选 \"log\" 或 \"minmax\"\n",
    "    cmap=\"plasma\",    # 颜色映射：默认使用更高对比度的 plasma\n",
    "    annotate=False    # 是否显示矩阵上的数值\n",
    "):\n",
    "    \"\"\"\n",
    "    将布局改为：\n",
    "    ┌─────────┬─────────────────┬─────────┐\n",
    "    │         │   上:热力图     │         │\n",
    "    │  左CB   ├─────────────────┤  右CB   │\n",
    "    │         │   下:热力图     │         │\n",
    "    └─────────┴─────────────────┴─────────┘\n",
    "    其中 1×3 网格：左列放注意力热力图的colorbar，中间列是上下热力图(再细分为2×1)，右列放方差热力图的colorbar\n",
    "    \"\"\"\n",
    "\n",
    "    # 1. 创建主图与 1×3 主网格\n",
    "    fig = plt.figure(figsize=(6, 4))\n",
    "    gs_main = fig.add_gridspec(nrows=1, ncols=3, width_ratios=[0.2, 3, 0.2], wspace=0.3)\n",
    "\n",
    "    # 2. 中间列做成 2 行 1 列的子网格，用于放置上下两个热力图\n",
    "    gs_center = gs_main[0, 1].subgridspec(nrows=2, ncols=1, height_ratios=[16, 1], hspace=0.2)\n",
    "\n",
    "    # 分别创建上、下两个 Axes\n",
    "    ax_top = fig.add_subplot(gs_center[0, 0])    # 上\n",
    "    ax_bottom = fig.add_subplot(gs_center[1, 0]) # 下\n",
    "\n",
    "    # 左侧 colorbar Axes (给“上方注意力”用)\n",
    "    cax_left = fig.add_subplot(gs_main[0, 0])\n",
    "    # 右侧 colorbar Axes (给“下方方差”用)\n",
    "    cax_right = fig.add_subplot(gs_main[0, 2])\n",
    "\n",
    "    # 3. 处理注意力矩阵\n",
    "    attention_matrix = attention_scores[layer_idx][0, head_idx, :seq_len, :seq_len].cpu()\n",
    "    if norm_type == \"log\":\n",
    "        epsilon = 1e-9\n",
    "        attention_matrix = torch.log(attention_matrix + epsilon).numpy()\n",
    "    elif norm_type == \"minmax\":\n",
    "        attention_matrix = attention_matrix.numpy()\n",
    "        attention_matrix = (attention_matrix - attention_matrix.min()) / (\n",
    "            attention_matrix.max() - attention_matrix.min() + 1e-9\n",
    "        )\n",
    "    else:\n",
    "        attention_matrix = attention_matrix.numpy()\n",
    "\n",
    "    # 4. 绘制“上方”的注意力热力图\n",
    "    im1 = ax_top.imshow(attention_matrix, cmap=cmap, aspect=\"equal\", interpolation=\"nearest\")\n",
    "    ax_top.set_box_aspect(1)\n",
    "    ax_top.set_title(f\"Attention Layer {layer_idx + 1}, Head {head_idx + 1}\", pad=10)\n",
    "    ax_top.set_xlabel(\"Token Index\")\n",
    "    ax_top.set_ylabel(\"Token Index\")\n",
    "    # 在右边添加额外的标签\n",
    "    ax_top.text(1.1, 0.5, \"Attention Score\", transform=ax_top.transAxes, rotation=90, va=\"center\", ha=\"center\")\n",
    "\n",
    "    # 可选：矩阵数值标注\n",
    "    if annotate:\n",
    "        for i in range(seq_len):\n",
    "            for j in range(seq_len):\n",
    "                ax_top.text(j, i, f\"{attention_matrix[i, j]:.2f}\",\n",
    "                            ha=\"center\", va=\"center\", fontsize=6)\n",
    "\n",
    "    # 给“上方热力图”创建 colorbar，放在左侧 cax_left\n",
    "    cb1 = fig.colorbar(im1, cax=cax_left, orientation='vertical')\n",
    "    cb1.set_label(\"Attention Score\")\n",
    "    cb1.ax.yaxis.set_ticks_position('left')\n",
    "    cb1.ax.yaxis.set_label_position('left')\n",
    "\n",
    "    # 5. 计算并绘制“下方”的方差热力图（单行）\n",
    "    token_variances = torch.var(hidden_states[layer_idx][:, :seq_len, :], dim=-1).squeeze(0).cpu().numpy()\n",
    "    token_variances = np.expand_dims(token_variances, axis=0)  # 转为 1×N\n",
    "\n",
    "    im2 = ax_bottom.imshow(token_variances, cmap=cmap, aspect=\"equal\", interpolation=\"nearest\")\n",
    "    # ax_bottom.set_title(f\"Token Variance for Layer {layer_idx + 1}\", y=-1.5)\n",
    "    # ax_bottom.set_ylabel(\"Variance\", y=0.5, x=1.05)\n",
    "    ax_bottom.text(1.1, 0.5, \"Variancee\", transform=ax_bottom.transAxes, rotation=90, va=\"center\", ha=\"center\")\n",
    "    ax_bottom.yaxis.set_label_position('right')\n",
    "    ax_bottom.set_box_aspect(1/16)\n",
    "    ax_bottom.set_yticks([])  # 隐藏 y 轴\n",
    "\n",
    "    # 给“下方热力图”创建 colorbar，放在右侧 cax_right\n",
    "    cb2 = fig.colorbar(im2, cax=cax_right, orientation='vertical')\n",
    "    cb2.set_label(\"Token Variance\")\n",
    "\n",
    "    # 6. 保存或者显示\n",
    "    if output_file:\n",
    "        plt.savefig(output_file, dpi=300, bbox_inches=\"tight\")\n",
    "    plt.show()\n",
    "\n",
    "visualize_attention_and_variance(output[\"attentions\"], output[\"hidden_states\"], layer_idx=3, head_idx=2, seq_len=50)"
   ],
   "id": "562034ba4fe23fa",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 600x400 with 4 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 161
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T11:47:17.323150Z",
     "start_time": "2025-01-13T11:47:17.114770Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "def visualize_multi_layers_single_row(\n",
    "    attention_scores,\n",
    "    hidden_states,\n",
    "    layers,              # list/iterable of layer indices to plot\n",
    "    head_idx,            # 如果你只想看同一个 head，可固定 head_idx\n",
    "    seq_len,\n",
    "    output_file=None,\n",
    "    norm_type=\"log\",     # \"log\", \"minmax\", 或 None\n",
    "    cmap=\"plasma\",\n",
    "    annotate=False\n",
    "):\n",
    "    \"\"\"\n",
    "    在“只有一行”的布局下，横向排多个 Layer，每个 Layer 里再上下叠放:\n",
    "      - 上: 注意力 (seq_len×seq_len)\n",
    "      - 下: 方差   (1×seq_len)\n",
    "    左右两侧各只放一个 colorbar：左边给所有注意力图，右边给所有方差图。\n",
    "\n",
    "    最外层 1×(num_layers + 2) 网格结构:\n",
    "    ┌──────────┬────────────────┬────────────────┬ ... ┬─────────────────┬───────────┐\n",
    "    │ 左CB(col=0) │ Layer1(subgrid) │ Layer2(subgrid) │ ... │ LayerN(subgrid) │ 右CB(col=N+1)│\n",
    "    └──────────┴────────────────┴────────────────┴-----┴─────────────────┴───────────┘\n",
    "\n",
    "    其中每个 layer 的 subgrid 再是 2×1:\n",
    "      - row=0: 注意力热力图(上)\n",
    "      - row=1: 方差热力图(下)\n",
    "    \"\"\"\n",
    "\n",
    "    num_layers = len(layers)\n",
    "\n",
    "    #========== 1. 预先收集所有矩阵、计算全局 min/max ==========#\n",
    "    all_attention_mats = []\n",
    "    all_variance_mats  = []\n",
    "    for layer_idx in layers:\n",
    "        # ---- 注意力矩阵 ----\n",
    "        attn_mat = attention_scores[layer_idx][0, head_idx, :seq_len, :seq_len].cpu()\n",
    "        if norm_type == \"log\":\n",
    "            epsilon = 1e-9\n",
    "            attn_mat = torch.log(attn_mat + epsilon)\n",
    "        elif norm_type == \"minmax\":\n",
    "            attn_mat = (attn_mat - attn_mat.min()) / (attn_mat.max() - attn_mat.min() + 1e-9)\n",
    "        attn_mat = attn_mat.numpy()\n",
    "        all_attention_mats.append(attn_mat)\n",
    "\n",
    "        # ---- 方差矩阵(1×seq_len) ----\n",
    "        var_mat = torch.var(hidden_states[layer_idx][:, :seq_len, :], dim=-1).squeeze(0).cpu().numpy()\n",
    "        var_mat = np.expand_dims(var_mat, axis=0)  # 变成 (1, seq_len)\n",
    "        all_variance_mats.append(var_mat)\n",
    "\n",
    "    # (可选) 全局 min/max, 用于共享色表\n",
    "    attn_min = min(m.min() for m in all_attention_mats)\n",
    "    attn_max = max(m.max() for m in all_attention_mats)\n",
    "    var_min  = min(m.min() for m in all_variance_mats)\n",
    "    var_max  = max(m.max() for m in all_variance_mats)\n",
    "\n",
    "    attn_norm = mpl.colors.Normalize(vmin=attn_min, vmax=attn_max)\n",
    "    var_norm  = mpl.colors.Normalize(vmin=var_min, vmax=var_max)\n",
    "\n",
    "    #========== 2. 创建最外层 figure & gridspec (1 行 + num_layers+2 列) ==========#\n",
    "    fig = plt.figure(figsize=(3 + 3*num_layers, 4))\n",
    "    gs_main = fig.add_gridspec(\n",
    "        nrows=1, ncols=num_layers+2,\n",
    "        width_ratios=[0.3] + [5]*num_layers + [0.3],  # 左 colorbar(0.2), 中间每层(3), 右 colorbar(0.2)\n",
    "        wspace=0.4\n",
    "    )\n",
    "\n",
    "    # 左、右 colorbar Axes\n",
    "    cax_left  = fig.add_subplot(gs_main[0, 0])\n",
    "    cax_right = fig.add_subplot(gs_main[0, num_layers+1])\n",
    "\n",
    "    #========== 3. 遍历每个 layer，在中间相应的列创建 2×1 subgridspec ==========#\n",
    "    for i, layer_idx in enumerate(layers):\n",
    "        # 这个列在 top-level gridspec 中是 col = i + 1\n",
    "        subgrid = gs_main[0, i+1].subgridspec(nrows=2, ncols=1, height_ratios=[16, 1], hspace=0.3)\n",
    "\n",
    "        # -- 上: 注意力热力图 --\n",
    "        ax_top = fig.add_subplot(subgrid[0, 0])\n",
    "        attn_mat = all_attention_mats[i]\n",
    "        im_top = ax_top.imshow(\n",
    "            attn_mat,\n",
    "            cmap=cmap,\n",
    "            norm=attn_norm,\n",
    "            aspect=\"equal\",\n",
    "            interpolation=\"nearest\"\n",
    "        )\n",
    "        # 标题\n",
    "        ax_top.set_title(f\"Layer {layer_idx+1}, Head {head_idx+1}\", pad=10)\n",
    "\n",
    "        ax_top.set_xlabel(\"Token Index\")\n",
    "        # 如果是第一个 layer，添加 x 轴标签\n",
    "        if i == 0:\n",
    "            ax_top.set_ylabel(\"Token Index\")\n",
    "        # 保证上图是 NxN 正方形\n",
    "        ax_top.set_box_aspect(1)\n",
    "\n",
    "        # 是否在热力图内显示数值\n",
    "        if annotate:\n",
    "            s_len = attn_mat.shape[0]\n",
    "            for r in range(s_len):\n",
    "                for c in range(s_len):\n",
    "                    ax_top.text(c, r, f\"{attn_mat[r,c]:.2f}\",\n",
    "                                ha=\"center\", va=\"center\", fontsize=6)\n",
    "\n",
    "        # -- 下: 方差热力图(1×seq_len) --\n",
    "        ax_bottom = fig.add_subplot(subgrid[1, 0])\n",
    "        var_mat = all_variance_mats[i]\n",
    "        im_bottom = ax_bottom.imshow(\n",
    "            var_mat,\n",
    "            cmap=cmap,\n",
    "            norm=var_norm,\n",
    "            aspect=\"equal\",\n",
    "            interpolation=\"nearest\"\n",
    "        )\n",
    "        # ax_bottom.set_xlabel(\"Token\")\n",
    "        ax_bottom.tick_params(axis='x', which='both', labelbottom=False)\n",
    "        ax_bottom.xaxis.tick_top()\n",
    "        ax_bottom.set_yticks([])  # 隐藏 y 轴\n",
    "        # 下图只有 1 行 vs. seq_len 列，如果想让每个格子跟上面一样大，需要适度控制纵横比\n",
    "        # 这里 height_ratios=[16,1] 已经让下方更扁，同时 aspect=\"equal\" 让其看起来为小方格\n",
    "        # 也可再对 set_box_aspect() 做精调:\n",
    "        #   ax_bottom.set_box_aspect(1/16)  # 视 seq_len 的大小而定\n",
    "        ax_bottom.set_box_aspect(1/16)\n",
    "\n",
    "        # 如果是最后一个 layer，添加右侧 text\n",
    "        if i == num_layers - 1:\n",
    "            ax_top.text(1.1, 0.5, \"Attention Score\", transform=ax_top.transAxes, rotation=90, va=\"center\", ha=\"center\")\n",
    "            ax_bottom.text(1.1, 0.5, \"Variance\", transform=ax_bottom.transAxes, rotation=90, va=\"center\", ha=\"center\")\n",
    "\n",
    "    #========== 4. 整体只放两个 colorbar：左(注意力)、右(方差) ==========#\n",
    "    # 注意力 colorbar\n",
    "    sm_attn = mpl.cm.ScalarMappable(norm=attn_norm, cmap=cmap)\n",
    "    cb1 = fig.colorbar(sm_attn, cax=cax_left, orientation='vertical')\n",
    "    cb1.ax.yaxis.set_ticks_position('left')\n",
    "    cb1.ax.yaxis.set_label_position('left')\n",
    "    cb1.set_label(\"Attention Score\")\n",
    "\n",
    "    # 方差 colorbar\n",
    "    sm_var = mpl.cm.ScalarMappable(norm=var_norm, cmap=cmap)\n",
    "    cb2 = fig.colorbar(sm_var, cax=cax_right, orientation='vertical')\n",
    "    cb2.set_label(\"Token Variance\")\n",
    "\n",
    "    #========== 5. 保存或显示 ==========#\n",
    "    if output_file:\n",
    "        plt.savefig(output_file, dpi=300, bbox_inches=\"tight\")\n",
    "    plt.show()\n",
    "\n",
    "layers_to_plot = [2, 3, 4]\n",
    "visualize_multi_layers_single_row(\n",
    "    attention_scores=output[\"attentions\"],\n",
    "    hidden_states=output[\"hidden_states\"],\n",
    "    layers=layers_to_plot,\n",
    "    head_idx=2,\n",
    "    seq_len=50,\n",
    "    norm_type=\"log\",    # 可选: \"log\", \"minmax\", 或 None\n",
    "    cmap=\"plasma\",\n",
    "    annotate=False\n",
    ")\n"
   ],
   "id": "10632b883a992863",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1200x400 with 8 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 200
  },
  {
   "metadata": {},
   "cell_type": "code",
   "outputs": [],
   "execution_count": null,
   "source": "",
   "id": "f1adf8de2ea457d6"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
